#include <iostream>
int main()
{
    // using namespace std;        // using编译指令
    using std::cout;                //using声明
    using std::endl;
    using std::ios_base;

    int x;
    cout << "The expression is x = 100 has the value" << endl;
    cout << (x = 100) << endl;  // 100
    // <<运算符的优先级比 =的优先级高,所以使用cout的时候需要注意()的使用

    cout << (x == 100) << endl; // 原来输出的东西是 1
    cout.setf(ios_base::boolalpha);
    //设置cout的输出为bool类型的字符 true/false
    cout << (x ==100) << endl;  //这样输出的东西就是true

    // 这里写一个C++中的阶乘
    int ArrSize = 20;
    long long factorials[ArrSize];
    factorials[0] = factorials[1] = 1LL;
    for (int i = 2; i < ArrSize; i++)
    {
        factorials[i] = factorials[i-1] * i;
    }
    for (int i = 0; i < ArrSize; i++)
    {
        cout << i << "! = " << factorials[i] << endl;
    }

    int * pt;
    int int_array[] = {1234,3124,1234,123,4123,41,234};
    pt = int_array;
    *pt++;      // 这里pt先执行了++,后执行解引用的操作

    return 0;
}